package com.cnbot.toolkit.log.zlog;

import android.util.Log;

import com.cnbot.toolkit.file.FileUtil;
import com.cnbot.toolkit.stream.StreamUtil;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
 *  @项目名：  ToolKitModel
 *  @包名：    com.cnbot.toolkit.log.zlog
 *  @文件名:   Util
 *  @创建者:   ww
 *  @创建时间:  2019/12/16 9:28
 *  @描述：    日志文件写入工具类
 */
public class Util {

	private static final String TAG = "Util";

    /**
     * 日志文件保存策略
     */
    private static ILogFileStrategy mStrategy;

    private Util() {}

	/**
	 * 将文本追加到到文件末尾;
	 * 文件不存在会创建文件；
	 * 父目录不存在会创建父目录，
	 * 会判断三级以内的目录是否存在，不存在则创建
	 *
	 * @param text     需要保存的文本
	 */
	public static void saveTextToFile(String text) {
		String filePath = mStrategy.getLastLogFilePath();
		File destFile = FileUtil.checkFile(new File(filePath));
		if (destFile == null) {
			return;
		}
		FileWriter writer = null;
		try {
			writer = new FileWriter(destFile, true);
			writer.write(text);
			writer.close();
		} catch (IOException var6) {
			Log.e(TAG, "saveTextToFile: ", var6);
		} finally {
			StreamUtil.closeStream(writer);
		}

	}

    /**
     * 设置文件保存策略
     * @param strategy
     */
    public static void setLogFileStrategy(ILogFileStrategy strategy) {
        mStrategy = strategy;
    }
}
